home *** CD-ROM | disk | FTP | other *** search
/ Libris Britannia 4 / science library(b).zip / science library(b) / PROGRAMM / PASCAL / 0635.ZIP / GETTIME.INC < prev    next >
Text File  |  1987-09-19  |  1KB  |  52 lines

  1.  
  2. Type
  3.   MG_TimeStr = String[10];
  4.  
  5. Function CurrentTime : MG_TimeStr;
  6. {** Returns the current time in '99:99:99 am/pm' format **}
  7. Type
  8.   RegPack = Record
  9.             AX,BX,CX,DX,BP,SI,DI,DS,ES,Flags : Integer;
  10.             End;
  11. Const
  12.   Am = 'am';
  13.   Pm = 'pm';
  14.  
  15. Var
  16.   Registers      : RegPack;
  17.   Hour,Min,Sec   : Integer;
  18.   HStr,MStr,Sstr : String[2];
  19.   AmPm           : String[2];
  20.  
  21. Begin
  22. With Registers do
  23.   AX := $2C shl 8;
  24. MSDos(Registers);
  25. With Registers do
  26.   Begin
  27.   Hour := Hi(CX);
  28.   AmPm := Am;
  29.   If Hour = 0 then
  30.     Begin
  31.     Hour := 12;
  32.     AmPm := Pm;
  33.     End;
  34.   If Hour > 12 then
  35.     Begin
  36.     Hour := Hour - 12;
  37.     AmPm := Pm;
  38.     End;
  39.   Min  := Lo(CX);
  40.   Sec  := Hi(DX);
  41.   Str(Hour:2,HStr);
  42.   If HStr[1] = ' ' then
  43.     HStr[1] := '0';
  44.   Str(Min:2,MStr);
  45.   If MStr[1] = ' ' then
  46.     MStr[1] := '0';
  47.   Str(Sec:2,SStr);
  48.   If SStr[1] = ' ' then
  49.     SStr[1] := '0';
  50.   End;
  51. CurrentTime := Concat(HStr,':',mStr,':',SStr,AmPm);
  52. End; {CurrentTime}